package com.guigu.youxuan.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.guigu.youxuan.common.utils.GoodsInfoVo;
import com.guigu.youxuan.common.utils.PageUtils;
import com.guigu.youxuan.common.vo.GoodsVo;
import com.guigu.youxuan.pojo.GoodsInfo;
import com.guigu.youxuan.pojo.dto.GoodsDto;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author liweixin
 * @since 2024-05-15
 */
public interface IGoodsInfoService extends IService<GoodsInfo> {
    /**
     * 供应商商品分页查询商品信息
     *
     * @param vo
     * @param pageNo
     * @param pageSize
     * @return
     */
    PageInfo<GoodsInfo> SupplierListPage( GoodsInfoVo vo, int pageNo, int pageSize);

    /**
     * 模糊查询商品信息
     * @param keyword
     * @return
     */
    PageUtils<GoodsDto> selGoods(String keyword,int pageNo, int pageSize);

    /**
     * 查询水果热销
     * @return
     */
    List<GoodsDto> selFruits();

    /**
     * 查询酒水热销
     * @return
     */
    List<GoodsDto> selDrinks();

    /**
     * ID查询商品详情页信息
     * @param id
     * @return
     */
    List<GoodsInfo> selGoodsById(int id);

    PageUtils<GoodsDto> getGoodsList(GoodsInfo goodsInfo, int currentPage, int pageSize);

    void addGoods(GoodsVo vo);

    GoodsInfo queryGoodsById(Long id);

    void updateGoods(GoodsVo vo);

    void delGoods(GoodsInfo goodsInfo);

    void delsGoods(List<GoodsInfo> goodsInfoList);

    void addStockUp(Integer amount, Long goodsId);

    void updateStatus(GoodsInfo goodsInfo);
}
